package com.example.chat04.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws")
                .setAllowedOriginPatterns("*")
                .withSockJS();
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.setApplicationDestinationPrefixes("/app")
                .enableSimpleBroker("/topic");
    }


    /**
     * 使用 rabbitmq 外部代理
     */
//    @Override
//    public void configureMessageBroker(MessageBrokerRegistry registry) {
//        registry.setApplicationDestinationPrefixes("/app")
//
//                // Use this for enabling a Full featured broker like RabbitMQ
//                .enableStompBrokerRelay("/topic")
//                .setRelayHost("192.168.11.140")
//                .setRelayPort(61613)
//                .setSystemLogin("guest")
//                .setSystemPasscode("guest")
//                .setClientLogin("guest")
//                .setClientPasscode("guest")
//                .setVirtualHost("/stomp");
//    }



}
